using UnityEngine;

public class WindowManager : MonoBehaviour
{
    [Header("窗口设置")]
    [SerializeField] private int windowWidth = 1500;
    [SerializeField] private int windowHeight = 900;
    [SerializeField] private bool allowFullscreenToggle = false;

    void Awake()
    {
        // 立即跳过启动屏幕（如果仍在显示）
        if (Application.CanStreamedLevelBeLoaded(0))
        {
            // 强制结束启动屏幕
            Application.targetFrameRate = 60;
        }
        
        // 确保游戏以窗口模式启动
        SetWindowMode();
    }

    void Start()
    {
        // 在Start中再次确认设置，以防Awake中的设置被覆盖
        SetWindowMode();
    }

    private void SetWindowMode()
    {
        // 设置为窗口模式，可调整大小
        Screen.SetResolution(windowWidth, windowHeight, FullScreenMode.Windowed);
        
        // 禁用全屏切换（如果需要的话）
        if (!allowFullscreenToggle)
        {
            // 注意：Unity没有直接禁用Alt+Enter的API，但我们可以在Update中监控
        }
    }

    void Update()
    {
        // 如果不允许全屏切换，监控并强制回到窗口模式
        if (!allowFullscreenToggle && Screen.fullScreen)
        {
            SetWindowMode();
        }
    }

    // 公共方法，允许其他脚本调用
    public void SetWindowSize(int width, int height)
    {
        windowWidth = width;
        windowHeight = height;
        SetWindowMode();
    }
} 